﻿CREATE PROCEDURE [Cucina].[SP_VassoioStampaRemota_I]
	@VassoioStampaRemotaID int output,
	@VassoioID int,
	@Stampante nvarchar(500),
	@DataOra datetime,
	@Autore nvarchar(256),
	@Esito bit
AS
	INSERT INTO [Cucina].[VassoioStampaRemota](VassoioID, Stampante, DataOra, Autore, Esito)
	VALUES(@VassoioID, @Stampante, @DataOra, @Autore, @Esito)

	SET @VassoioStampaRemotaID = SCOPE_IDENTITY()

	-- Devo contrassegnare anche la comanda come stampata?
	DECLARE @ComandaID int
	SELECT @ComandaID = ComandaID
	FROM Cucina.Vassoio
	WHERE VassoioID = @VassoioID

	DECLARE @NVassoi int
	SELECT @NVassoi = COUNT(VassoioID) 
	FROM Cucina.Vassoio
	WHERE ComandaID = @ComandaID

	DECLARE @NVassoiConsegnati int
	SELECT @NVassoiConsegnati = COUNT(V.VassoioID) 
	FROM Cucina.VassoioStampaRemota VC
	INNER JOIN Cucina.Vassoio V
		ON VC.VassoioID = V.VassoioID
	WHERE V.ComandaID = @ComandaID

	DECLARE @ComandaConsegnaID int
	IF (@NVassoi = @NVassoiConsegnati AND @Esito = 1)
	BEGIN
		EXEC Cucina.SP_ComandaStampaRemota_I @ComandaConsegnaID, @ComandaID, @Stampante, @DataOra, @Autore, true
	END
RETURN 0